---
title: 'How to set Salesforce up with Nango'
description: 'Register your own OAuth app and configure Salesforce for production use in Nango'
---

This guide will show you how to register your application with Salesforce to obtain your own production OAuth credentials (client id & secret).

Once you complete this guide, your users can grant your app access to their Salesforce account. You will have full access to the [Salesforce REST API](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_rest.htmn), which lets you read and write any data in the connected Salesforce accounts.

## Connected App vs. External Client Apps

Salesforce supports two methods to register your application: **Connected App** and **external Client App**.

**Connected App** should be your default choice. It provides an easier end-user experience, and gives you full read and write access with the Salesforce REST API.


## How to set Salesforce up with a Connected App (recommended)

Setup is free and no review is required to go to production.

<Steps>
    <Step title="Sign up for a free Salesforce developer edition account">
        If you don't already have one, sign up for a [Salesforce Developer Edition account](https://developer.salesforce.com/signup).
    </Step>
    <Step title="Enable Connected Apps">
        <Note>
            Connected Apps are disabled by default in new Salesforce developer accounts.
            
            If your Salesforce developer account is new, follow these steps to enable them. If your organization has already enabled this setting, skip to **Configure Connected App settings**.
        </Note>
        1. Log in to your Salesforce account
        2. Navigate to **Setup**. In the left menu, go to **Apps** → **External Client App Manager** → **Settings**
        3. Find the **Allow creation of connected apps** option then toggle it to enable **Connected Apps**
    </Step>
    <Step title="Configure Connected App settings">
        1. Log in to your [Salesforce Developer Edition account](https://login.salesforce.com/)
        2. Navigate to **Setup**. In the left menu, go to **Apps** → **External Client App Manager** → **Settings**. Scroll to the bottom of the page, then click **New Connected App**
        3. Fill in the required basic information:
            - **Connected App Name**: Your app's name
            - **API Name**: This will auto-populate
            - **Contact Email**: Your email address
        4. Check the **Enable OAuth Settings** checkbox.
        5. For **Callback URL**, enter: `https://api.nango.dev/oauth/callback`
            - Use your custom callback URL if your Nango account has one set up.
        6. Under **Selected OAuth Scopes**, add the permissions your app needs. At minimum, add:
            - `Access and manage your data (api)`
            - `Perform requests on your behalf at any time (refresh_token, offline_access)`
        7. Check the **Introspect All Tokens** option
        8. Leave the rest of the default settings unchanged.
        9. Click **Save**, then **Continue**.
        <Note>Changes can take up to 10 minutes to take effect</Note>
    </Step>
    <Step title="Obtain API credentials">
        1. After saving your changes, you'll be redirected to the Connected App detail page.
        2. You may need to wait a few minutes for the app to be fully created.
        3. Click **Manage Consumer Details** to view your credentials. You may be required to verify your identity.
        4. Copy the **Consumer Key** to the "Client Id" field in your Salesforce integration in Nango
        5. Copy the **Consumer Secret** to the "Client Secret" field in your Salesforce integration in Nango
        6. In Nango, add the `api` and `refresh_token` scopes to your Salesforce integration.
            - `api` lets you read & write any data from the Salesforce account on the REST API
    </Step>
    <Step title="Configure token settings">
        1. Under the **Connected Apps** dropdown, click **Manage Connected Apps**, then click the **Edit** button next to the application you just created.
        2. Under **OAuth Policies**, set **Refresh Token Policy** to **Refresh token is valid until revoked** for long-lived access.
        3. Click **Save**.
    </Step>
    <Step title="You are all set">
        Test the OAuth flow in your Nango dashboard.

        You are now ready to let your customers connect their account and access any data from the Salesforce API.

        Follow the [Quickstart](/getting-started/quickstart) to integrate Nango in your app.
    </Step>
</Steps>

## External Client Apps

In the summer of 2025, Salesforce released [External Client Apps](https://help.salesforce.com/s/articleView?id=xcloud.external_client_apps.htm&type=5), an alternative authentication method that allows external applications to connect to Salesforce orgs. Nango fully supports this as well.

Compared to connected apps, external client apps have two drawbacks:
1. They require packaging (custom code bundle you have to create)
2. End-users must install them in their Salesforce org before users can connect their accounts

For the most frictionless integration experience, Nango recommends using **Connected Apps**.

External client apps may be a good option if you need to deploy custom code to your customer's Salesforce instance.

For a detailed comparison, check out [Salesforce's comparison guide](https://help.salesforce.com/s/articleView?id=sf.connected_apps_and_external_client_apps_features.htm&language=en_US&type=5).

To learn how to create External Client Apps, see [Salesforce's creation guide](https://help.salesforce.com/s/articleView?id=xcloud.create_a_local_external_client_app.htm&type=5).